﻿using System;
using SharpSqlAnalyzer.pp.processor;
using SharpSqlAnalyzer.pp.stmtformatter.type;
using SharpSqlAnalyzer.pp.stmtformatter.type.comm;

namespace SharpSqlAnalyzer.pp.stmtformatter.builder.comm
{
	// Token: 0x02000225 RID: 549
	public class PlsqlBlockStmtFormatterBuilder : AbstractStmtFormatterBuilder
	{
		// Token: 0x0600127E RID: 4734 RVA: 0x003192C8 File Offset: 0x003174C8
		protected internal override void initSpecialProcessorForFormatter(AbstractStmtFormatter formatterArg)
		{
			PlsqlBlockStmtFormatter plsqlBlockStmtFormatter = formatterArg as PlsqlBlockStmtFormatter;
			plsqlBlockStmtFormatter.addSpecialProcessor(ProcessorFactory.createCapitalisationProcessor(this.Option));
			plsqlBlockStmtFormatter.addSpecialProcessor(ProcessorFactory.createCombineWhitespaceAndClearReturnProcessor(this.Option));
			plsqlBlockStmtFormatter.addDeclareProcessor(ProcessorFactory.createStmtListProcessor(this.Option, "declare"));
			plsqlBlockStmtFormatter.addBodyProcessor(ProcessorFactory.createStmtListProcessor(this.Option, "begin"));
			plsqlBlockStmtFormatter.addSpecialProcessor(ProcessorFactory.createBeginAndEndProcessor(this.Option));
		}

		// Token: 0x0600127F RID: 4735 RVA: 0x00319339 File Offset: 0x00317539
		protected internal override AbstractStmtFormatter newInstanceFormatter()
		{
			return new PlsqlBlockStmtFormatter();
		}
	}
}
